﻿#ifndef FLOWTREE_H
#define FLOWTREE_H

#include <QObject>
#include "Interface_Global.h"

namespace CVV
{

namespace Interface
{
class  INTERFACE_EXPORT FlowTree : public QObject
{
    Q_OBJECT
public:
    explicit FlowTree(QObject *parent = nullptr);
    virtual ~FlowTree();

    FlowTree(const FlowTree &flowTree);
    FlowTree& operator=(const FlowTree &flowTree);

    bool operator ==(const FlowTree &flowTree) const;

    QString pluginCode() const;
    void setPluginCode(const QString &pluginCode);

    int level() const;
    void setLevel(const int &level);

    QString cellId() const;
    void setCellId(const QString &cellId);

    QString pluginName() const;
    void setPluginName(const QString &pluginName);

    /**
     * @brief preCellId 上级插件单元id
     * @return
     */
    QString preCellId() const;
    void setPreCellId(const QString &preId);

signals:

public slots:

private:
    /**
     * @brief 插件Code
     */
    QString m_pluginCode;
    /**
     * @brief 插件名称
     */
    QString m_pluginName;
    /**
     * @brief 流程单元Name
     */
    QString m_cellId;
    /**
     * @brief 流程单元等级
     */
    int m_level;

    QString m_strPreCellId;      // 上级插件单元id
};

}

}
#endif // FLOWTREE_H
